package fachklassen;

import java.util.ArrayList;

import helper.BLError;
import helper.BLWarning;
import database.DatabaseManager;
/**
 * Fachklasse mit Gettern und Settern
 *
 * @author	Michael Wolf
 * @author	Tanja Goletz
 * @version	1.0
 */
public class BildungsgangFach {
	int bildungsgangID;
	Bildungsgang bildungsgang = null;
	int fachID;
	Fach fach = null;
	int gewichtung;
	
	public int getBildungsgangID() {
		return bildungsgangID;
	}
	public void setBildungsgangID(int bildungsgangID) {
		this.bildungsgangID = bildungsgangID;
		this.bildungsgang = null;
	}
	public int getFachID() {
		return fachID;
	}
	public void setFachID(int fachID) {
		this.fachID = fachID;
		this.fach = null;
	}
	public int getGewichtung() {
		return gewichtung;
	}
	public void setGewichtung(int gewichtung) {
		this.gewichtung = gewichtung;
	}
	public Bildungsgang getBildungsgang() throws BLError, BLWarning {
		if (bildungsgang == null) {
			ArrayList<Object> elements = DatabaseManager.getInstance().getByAttribute(Bildungsgang.class, "bildungsgangID", bildungsgangID);
			if (elements.size() == 0) bildungsgang = null;
			else bildungsgang = (Bildungsgang)elements.get(0);
		}
		return bildungsgang;
	}
	public void setBildungsgang(Bildungsgang bildungsgang) {
		this.bildungsgang = bildungsgang;
		this.bildungsgangID = bildungsgang.getBildungsgangID();
	}
	public Fach getFach() throws BLError, BLWarning {
		if (fach == null) {
			ArrayList<Object> elements = DatabaseManager.getInstance().getByAttribute(Fach.class, "fachID", fachID);
			if (elements.size() == 0) fach = null;
			else fach = (Fach)elements.get(0);
		}
		return fach;
	}
	public void setFach(Fach fach) {
		this.fach = fach;
		this.fachID = fach.getFachID();
	}
	
}
